package com.sure.minion.services.base.utils;

import java.util.Arrays;
import java.util.List;
import java.util.Set;

import com.sure.minion.services.base.vo.PagedResult;

/**
 * @Description 基础工具类 
 * @author sure
 * @date 2015年8月28日  下午1:58:16
 */
public class BaseUtil {
	
	/**
	 * @Description List转[]
	 * @param list
	 * @return
	 * @author sure
	 */
	public static <T> Object[] listToArray(List<T> list){
		if(listNotNull(list)){
			Object [] obj = new Object[list.size()];
			for (int i = 0; i < list.size(); i++) {
				obj[i] = list.get(i);
			}
			return obj;
		}
		return null;
		
	}
	
	/**
	 * @Description []转List
	 * @param array
	 * @return
	 * @author sure
	 */
	public static <T> List<T> arrayToList(T[] array) {
		if(null != array && array.length != 0) {
			return Arrays.asList(array);
		}
		return null;
	}

	/**
	 * @Description List判空
	 * @param list
	 * @return
	 * @author sure
	 */
	public static <T> boolean listNotNull(List<T> list) {
		if (list != null && list.size() != 0) {
			return true;
		}
		return false;
	}
	
	/**
	 * @Description []判空
	 * @param arr
	 * @return
	 * @author sure
	 * @date 2015年6月2日  下午5:00:42
	 */
	public static boolean arrayNotNull(Object[] arr) {
		if(null != arr && 0 != arr.length) {
			return true;
		} 
		return false;
	}

	/**
	 * @Description Set判空
	 * @param set
	 * @return
	 * @author sure
	 */
	public static <T> boolean setNotNull(Set<T> set) {
		if (set != null && set.size() > 0) {
			return true;
		}
		return false;
	}


	/**
	 * @Description String判空
	 * @param string
	 * @return
	 * @author sure
	 */
	public static boolean stringNotNull(String string) {
		if ((null == string) || (string.trim().equals(""))) {
			return false;
		}
		return true;
	}

	/**
	 * @Description 分页对象是否为空
	 * @param pagedResult
	 * @return
	 * @author sure
	 */
	public static <T> boolean pagedResultNotNull(PagedResult<T> pagedResult) {
		if(null == pagedResult || !listNotNull(pagedResult.getResultList())) {
			return false;
		} 
		return true;
	}

}
